package com.mindainfo.groundwave.common.api.member.service;

import com.mindainfo.groundwave.common.api.member.param.PermissionQueryListParam;
import com.mindainfo.groundwave.common.api.member.param.PermissionSaveParam;
import com.mindainfo.groundwave.common.api.member.param.PermissionToDelParam;
import com.mindainfo.groundwave.common.api.member.vo.PermissionQueryForTreeVo;
import com.mindainfo.groundwave.common.api.member.vo.PermissionQueryListVo;
import com.mindainfo.groundwave.common.bean.CommonResult;
import com.mindainfo.groundwave.common.bean.TableData;

import java.util.List;


/**
 * Created by MD-01 on 2017/5/17.
 */
public interface IPermissionService {

    /**
     * 获取权限列表
     */
    CommonResult<TableData<PermissionQueryListVo>> queryList(PermissionQueryListParam param);

    /**
     * 新增/修改权限
     */
    CommonResult<Void> save(PermissionSaveParam param);

    /**
     * 删除权限
     */
    CommonResult<Void> toDel(PermissionToDelParam param);

    /**
     * 获取所有可用权限生成权限树
     * @return
     */
    CommonResult<List<PermissionQueryForTreeVo>> queryForTree();


}
